from camel.agents import ChatAgent
from camel.models import ModelFactory
from camel.toolkits import FunctionTool, SearchToolkit
from camel.types import ModelPlatformType
import openai
from dotenv import load_dotenv
import os
load_dotenv()

Model_Type=os.getenv("MODEL_TYPE")
Model_Api=os.getenv("ZHIPU_API_KEY")
Model_Url=os.getenv("MODEL_URL")
model = ModelFactory.create(
    model_platform=ModelPlatformType.OPENAI,
    model_type=Model_Type,
    api_key=Model_Api,
    url=Model_Url
)
from camel.societies.workforce import Workforce


# 协调者与任务智能体（关键）
coordinator = ChatAgent(
    model=model,
    system_message="你是任务协调者，负责拆解用户任务并协调执行。",
    output_language='zh-cn'
)
task_agent = ChatAgent(
    model=model,
    system_message="你负责任务规划和分解，将复杂任务拆分为可执行的子任务。",
    output_language='zh-cn'
)
# 创建一个workforce实例（只保留这一段）
workforce = Workforce(
    "一个简单的Workforce,语言为中文",
    coordinator_agent=coordinator,
    task_agent=task_agent,
)
search_agent = ChatAgent(
    model=model,
    system_message='你是一个可以进行网络搜索的智能体',
    output_language='zh-cn',

)
another_agent = ChatAgent(
    model=model,
    system_message='你是一个智能体，帮助解决任务',
    output_language='zh-cn'
)
yet_another_agent = ChatAgent(
    model=model,
    system_message='你是一个智能体，帮助解决任务',
    output_language='zh-cn'
)
# 向workforce添加一个工作智能体

workforce.add_single_agent_worker(
    "一个可以进行网络搜索的智能体",
    worker=search_agent,
).add_single_agent_worker(
    "另一个智能体",
    worker=another_agent,
).add_single_agent_worker(
    "又一个智能体",
    worker=yet_another_agent,
)
from camel.tasks import Task

# id可以是任何字符串
task = Task(
    content="为巴黎3天旅行制定一个旅游计划。语言为中文",
    id="0",
)

# 用workforce处理任务
task = workforce.process_task(task)

# 查看结果
print(task.result)
